package frames;

import java.awt.BorderLayout;
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
import javax.swing.JTextPane;
import javax.swing.JButton;
import banco.Banco;
import objetos.Categoria;
import objetos.Produto;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;


public class FrameProduto extends JFrame {

	private JPanel contentPane;
	private final JLabel lblNewLabel = new JLabel("Nome:");
	private JTextField textNome;
	private JTextField textCategoria;
	private JTextField textPreco;
	private JTextField textEstoque;
	private JTextPane textDescricao;
	private JButton btnSalvar;
	
	private Produto produto = new Produto();
	private Banco bd = new Banco();

	/**
	 * Launch the application.
	 
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					FrameProduto frame = new FrameProduto();
					frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}

	
	 * Create the frame.
	 */
	public FrameProduto(final String acao) {
		setTitle("Produto");
		setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
		setBounds(100, 100, 331, 373);
		contentPane = new JPanel();
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		setContentPane(contentPane);
		contentPane.setLayout(null);
		lblNewLabel.setBounds(10, 27, 51, 20);
		contentPane.add(lblNewLabel);
		
		JLabel lblCategoria = new JLabel("Categoria:");
		lblCategoria.setBounds(10, 74, 83, 20);
		contentPane.add(lblCategoria);
		
		JLabel lblDescrio = new JLabel("Descri\u00E7\u00E3o:");
		lblDescrio.setBounds(10, 121, 83, 20);
		contentPane.add(lblDescrio);
		
		JLabel lblPreo = new JLabel("Pre\u00E7o:");
		lblPreo.setBounds(10, 216, 77, 20);
		contentPane.add(lblPreo);
		
		JLabel lblQuantidadeemEstoque = new JLabel("Estoque:");
		lblQuantidadeemEstoque.setBounds(10, 263, 51, 20);
		contentPane.add(lblQuantidadeemEstoque);
		
		textNome = new JTextField();
		textNome.setBounds(70, 27, 221, 20);
		contentPane.add(textNome);
		textNome.setColumns(10);
		
		textCategoria = new JTextField();
		textCategoria.setColumns(10);
		textCategoria.setBounds(70, 74, 221, 20);
		contentPane.add(textCategoria);
		
		textPreco = new JTextField();
		textPreco.setColumns(10);
		textPreco.setBounds(70, 216, 221, 20);
		contentPane.add(textPreco);
		
		textEstoque = new JTextField();
		textEstoque.setColumns(10);
		textEstoque.setBounds(71, 263, 221, 20);
		contentPane.add(textEstoque);
		
		textDescricao = new JTextPane();
		textDescricao.setBounds(71, 121, 220, 67);
		contentPane.add(textDescricao);
		
		btnSalvar = new JButton("Salvar");
		btnSalvar.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				
				
				try {
					Categoria cat = new Categoria();
					cat.setNome(textCategoria.getText());
					produto.getCategoria();
					
					produto.setNome(textNome.getText());					
					produto.setDescricao(textDescricao.getText());
					produto.setPreco(Float.parseFloat(textPreco.getText()));
					produto.setQtdadeEstoque(Integer.parseInt(textEstoque.getText()));
				}catch (Exception e1){
					JOptionPane.showMessageDialog(null, "Erro ao tentar pegar dos Texts");
				}				
				if(acao.contains("novo"))
					bd.novoProduto(produto);
				if(acao.contains("editar"))
					bd.editarProduto(produto);				
			}
		});
		btnSalvar.setBounds(113, 300, 89, 23);
		contentPane.add(btnSalvar);
		
		if (acao.contains("detalhes")){
			textNome.enable(false);
			textCategoria.enable(false);
			textPreco.enable(false);
			textEstoque.enable(false);
			textDescricao.enable(false);
			btnSalvar.setVisible(false);
		}
	}
}
